home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / msqllib / doc / msql.doc < prev    next >
Text File  |  1999-01-01  |  47KB  |  1,691 lines

  1. TABLE OF CONTENTS
  2.  
  3. msql.library/--background--
  4. msql.library/--rexxhost--
  5. msql.library/MsqlAddMHookA
  6. msql.library/MsqlAllocConnection
  7. msql.library/MsqlClose
  8. msql.library/MsqlConnect
  9. msql.library/MsqlCopyDB
  10. msql.library/MsqlCreateDB
  11. msql.library/MsqlDataSeek
  12. msql.library/MsqlDateOffset
  13. msql.library/MsqlDateToUnixTime
  14. msql.library/MsqlDiffDates
  15. msql.library/MsqlDiffTimes
  16. msql.library/MsqlDropDB
  17. msql.library/MsqlFetchField
  18. msql.library/MsqlFetchRow
  19. msql.library/MsqlFieldSeek
  20. msql.library/MsqlFreeConnection
  21. msql.library/MsqlFreeResult
  22. msql.library/MsqlGetCharConf
  23. msql.library/MsqlGetErrMsg
  24. msql.library/MsqlGetHostInfo
  25. msql.library/MsqlGetIntConf
  26. msql.library/MsqlGetProtoInfo
  27. msql.library/MsqlGetSequenceInfo
  28. msql.library/MsqlGetServerInfo
  29. msql.library/MsqlGetServerStats
  30. msql.library/MsqlListDBs
  31. msql.library/MsqlListFields
  32. msql.library/MsqlListIndex
  33. msql.library/MsqlListTables
  34. msql.library/MsqlLoadConfigFile
  35. msql.library/MsqlMoveDB
  36. msql.library/MsqlNumFields
  37. msql.library/MsqlNumRows
  38. msql.library/MsqlQuery
  39. msql.library/MsqlReloadAcls
  40. msql.library/MsqlRemMHook
  41. msql.library/MsqlSelectDB
  42. msql.library/MsqlShutdown
  43. msql.library/MsqlStoreResult
  44. msql.library/MsqlSumTimes
  45. msql.library/MsqlTimeToUnixTime
  46. msql.library/MsqlUnixTimeToDate
  47. msql.library/MsqlUnixTimeToTime
  48. msql.library/--background--                       msql.library/--background--
  49.  
  50.     The msql.library is an Amiga shared library that grant access to a mSQL
  51.     database engine over a TCP/IP network (ie include the mSQL client part).
  52.  
  53.     MsqlNumRows() & MsqlNumFields() are macros #defined in libraries/msql.h
  54.     Please refer to the original documentation for more information.
  55.  
  56.    News from Version 5.3:
  57.        - Include 2.0.7 code changes.
  58.  
  59.    News from Version 5.2:
  60.        - Fix a bug that make MsqlUnixTimeToDate unusable.
  61.        - Some code changes and bugs fix from the original
  62.          API (V2.0.5 & 2.0.6)
  63.  
  64.    News from Version 5:
  65.        - Some ARexx host bugs removed.
  66.        - ARexx allocation trace (Free all ARexx allocation with one
  67.          function).
  68.        - Add a hook monitoring system.
  69.  
  70.    News from Version 4:
  71.        - ARexx host.
  72.  
  73.    News from Version 3:
  74.        - Support the final mSQL2 protocol.
  75.  
  76.    News from Version 2:
  77.        - Client code included into the library (no external program required
  78.          any more).
  79.        - Functions that don't require a "real" connection like MsqlDataSeek()
  80.          don't need a MsqlConnection argument anymore (this argument was
  81.          needed with the previous version to exchange information with the
  82.          external program).
  83.  
  84.    Requirement:
  85.        - A running TCP/IP stack (AmiTCP, Miami) to access distant DB server
  86.          or mUSD to only access a local mSQL server.
  87.  
  88.    Note:
  89.        - the ixemul.library is not used any more.
  90.        - Since new Times functions used static string in the original api,
  91.          the library keeps buffers for each process that open the library.
  92.          So, DON'T share the library base between process!
  93.  
  94.     A large parts of this documentation comes from the original msql api
  95.     documentation which is ©1998 Hughes Technologies Pty Ltd.
  96.  
  97.    msql.library is (C) Copyright 1999 Christophe Sollet, All rights Reserved
  98. msql.library/--rexxhost--                           msql.library/--rexxhost--
  99.  
  100.    HOST INTERFACE  (V4)
  101.        msql.library provides an ARexx function host interface that enables
  102.        ARexx programs to access mSQL Database server. The functions provided
  103.        by the interface are directly related to the functions described
  104.        herein.
  105.  
  106.        The function host library vector is located at offset -30 from the
  107.        library. This is the value you provide to ARexx in the AddLib()
  108.        function call.
  109.  
  110.    FUNCTIONS
  111.        MsqlAllocConnection ()
  112.        MsqlClose (MSQLCONNECTION)
  113.        MsqlConnect (MSQLCONNECTION, STRING)
  114.        MsqlCreateDB (MSQLCONNECTION, STRING)
  115.        MsqlDataSeek (M_RESULT, INT)
  116.        MsqlDropDB (MSQLCONNECTION, STRING)
  117.        MsqlFetchField (M_RESULT)
  118.        MsqlFetchRow (M_RESULT)
  119.        MsqlFieldSeek (M_RESULT, INT)
  120.        MsqlFreeConnection (MSQLCONNECTION)
  121.        MsqlFreeResult (M_RESULT)
  122.        MsqlGetErrMsg (MSQLCONNECTION)
  123.        MsqlGetHostInfo (MSQLCONNECTION)
  124.        MsqlGetProtoInfo (MSQLCONNECTION)
  125.        MsqlGetServerInfo (MSQLCONNECTION)
  126.        MsqlListDBs (MSQLCONNECTION)
  127.        MsqlListFields (MSQLCONNECTION, STRING)
  128.        MsqlListIndex (MSQLCONNECTION, STRING, STRING)
  129.        MsqlListTables (MSQLCONNECTION)
  130.        MsqlLoadConfigFile (MSQLCONNECTION, STRING)
  131.        MsqlNumFields (M_RESULT)
  132.        MsqlNumRows (M_RESULT)
  133.        MsqlQuery (MSQLCONNECTION, STRING)
  134.        MsqlReloadAcls (MSQLCONNECTION)
  135.        MsqlSelectDB (MSQLCONNECTION, STRING)
  136.        MsqlShutdown (MSQLCONNECTION)
  137.        MsqlStoreResult (MSQLCONNECTION)
  138.  
  139.    AREXX ONLY FUNCTIONS
  140.        MsqlGetField (M_ROW, POS)
  141.            Get the field value at POS of a row
  142.  
  143.        MsqlGetFieldInfo (M_FIELD, TYPE)
  144.            Get info "TYPE" on a field
  145.            TYPE can be: - "name"
  146.                         - "table"
  147.                         - "type"
  148.                         - "length"
  149.  
  150.        MsqlIsNotNull (M_FIELD)
  151.        MsqlIsUnique (M_FIELD)
  152.            This two functions test flags of the field.
  153.  
  154.    NOTES:
  155.        The following functions return true on success:
  156.  
  157.        MsqlSelectDB
  158.        MsqlQuery
  159.        MsqlCreateDB
  160.        MsqlDropDB
  161.        MsqlGetProtoInfo
  162.        MsqlReloadAcls
  163.        MsqlDataSeek
  164.        MsqlFieldSeek
  165.        MsqlLoadConfigFile
  166.        
  167.        
  168.  
  169. msql.library/MsqlAddMHookA                         msql.library/MsqlAddMHookA
  170.  
  171.    NAME   
  172.            MsqlAddMHookA --  add a library monitoring hook. (V5)
  173.            MsqlAddMHook -- Varargs stub for MsqlAddMHook. (V5)
  174.  
  175.    SYNOPSIS
  176.            success = MsqlAddMHookA(hook, TagItems)
  177.            D0                      A0    A1
  178.  
  179.            BOOL MsqlAddMHookA(struct Hook *, struct TagItems *);
  180.  
  181.            success = MsqlAddMHook(hook, Tag1, ... )
  182.  
  183.            BOOL MsqlAddMHook(struct Hook *, ULONG, ... );
  184.  
  185.    FUNCTION
  186.            This function adds a callback hook to monitor each library call.
  187.            The hook will be called at each library function call and
  188.            return.
  189.  
  190.            Hooks are called with the following parameters:
  191.  
  192.            - A0:  struct Hook *: your struct Hook
  193.  
  194.            - A2:  APTR: your callback handle
  195.  
  196.            - A1: struct HookMessage *: a pointer to an initialized struct
  197.              HookMessage describing the  called library function.
  198.  
  199.    INPUTS
  200.            hook - callback hook
  201.            TagItems - none are defined for now, must be NULL
  202.  
  203.    RESULT
  204.            success - TRUE on success
  205.  
  206.    EXAMPLE
  207.  
  208.    NOTES
  209.            The struct HookMessage is read-only!
  210.  
  211.    BUGS
  212.  
  213.    SEE ALSO
  214.            MsqlRemMHook()
  215.  
  216. msql.library/MsqlAllocConnection             msql.library/MsqlAllocConnection
  217.  
  218.    NAME   
  219.            MsqlAllocConnection -- Alloc a MsqlConnection structure
  220.  
  221.    SYNOPSIS
  222.            mc = MsqlAllocConnection()
  223.            D0
  224.  
  225.            struct MsqlConnection *MsqlAllocConnection(void);
  226.  
  227.    FUNCTION
  228.            Alloc an MsqlConnection structure used by all other function.
  229.            A MsqlConnection structure must be created by each task that
  230.            access the msql.library
  231.  
  232.    INPUTS
  233.            none
  234.  
  235.    RESULT
  236.            mc - A ready-to-use structure or NULL on error.
  237.  
  238.    EXAMPLE
  239.  
  240.    NOTES
  241.            You must use MsqlFreeConnection to free the returned structure.
  242.  
  243.    BUGS
  244.  
  245.    SEE ALSO
  246.            MsqlFreeConnection()
  247.  
  248. msql.library/MsqlClose                                 msql.library/MsqlClose
  249.  
  250.    NAME   
  251.            MsqlClose -- close a connection to the mSQL engine
  252.  
  253.    SYNOPSIS
  254.            MsqlClose(mc)
  255.                      A1
  256.  
  257.            void MsqlClose(struct MsqlConnection *);
  258.  
  259.    FUNCTION
  260.            The connection to the mSQL engine can be closed using msqlClose()
  261.            The function must be called with the MsqlConnection structure
  262.            returned by MsqlConnect() when the initial connection was made.
  263.  
  264.    INPUTS
  265.            mc - a "connected" MsqlConnection
  266.  
  267.    RESULT
  268.  
  269.    EXAMPLE
  270.  
  271.    NOTES
  272.  
  273.    BUGS
  274.  
  275.    SEE ALSO
  276.            MsqlConnect()
  277.  
  278. msql.library/MsqlConnect                             msql.library/MsqlConnect
  279.  
  280.    NAME   
  281.            MsqlConnect -- Forms an interconnection with the mSQL engine
  282.  
  283.    SYNOPSIS
  284.            mc = MsqlConnect(mc, host)
  285.            D0               A1  A0
  286.  
  287.            struct MsqlConnection *
  288.                               MsqlConnect(struct MsqlConnection *, char *);
  289.  
  290.    FUNCTION
  291.            msqlConnect() forms an interconnection with the mSQL engine. The
  292.            host argument is the name or IP address of the host running the
  293.            mSQL server. If NULL is specified as the host argument, a
  294.            connection is made to a server running on the localhost using the
  295.            UNIX domain socket /dev/msqld. If an error occurs, NULL is
  296.            returned and the external variable msqlErrMsg (returned by
  297.            MsqlGetErrMsg()) will contain an appropriate text message.
  298.  
  299.            If the connection is made to the server, the MsqlConnection is
  300.            filled with connecton information.
  301.  
  302.    INPUTS
  303.            mc - a MsqlConnection structure returned by MsqlAllocConnection()
  304.            host - the name or IP address of the host running the mSQL server
  305.  
  306.    RESULT
  307.            mc - same as the input mc or NULL on error
  308.  
  309.    EXAMPLE
  310.  
  311.    NOTES
  312.  
  313.    BUGS
  314.  
  315.    SEE ALSO
  316.            MsqlClose()
  317.  
  318. msql.library/MsqlCopyDB                               msql.library/MsqlCopyDB
  319.  
  320.    NAME   
  321.            MsqlCopyDB -- Undocumented   (V3)
  322.  
  323.    SYNOPSIS
  324.            error = MsqlCopyDB(mc, fromDB, toDB)
  325.            D0                 A0  A1      A2        
  326.  
  327.            int MsqlCopyDB(struct MsqlConnection *, char *, char *);
  328.  
  329.    FUNCTION
  330.            Undocumented.
  331.  
  332.    INPUTS
  333.            mc - a "connected" MsqlConnection structure
  334.            fromDB - ? :)
  335.            toDB - ? :)
  336.    RESULT
  337.            error - -1 on error.
  338.    EXAMPLE
  339.  
  340.    NOTES
  341.  
  342.    BUGS
  343.  
  344.    SEE ALSO
  345.            MsqlMoveDB()
  346.  
  347. msql.library/MsqlCreateDB                           msql.library/MsqlCreateDB
  348.  
  349.    NAME   
  350.            MsqlCreateDB -- Create a new database
  351.  
  352.    SYNOPSIS
  353.            error = MsqlCreateDB(mc, name)
  354.            D0                   A1  A0
  355.  
  356.            int MsqlCreateDB(struct MsqlConnection *, char *);
  357.  
  358.    FUNCTION
  359.            Create a new database on the connected server
  360.  
  361.    INPUTS
  362.            mc - a MsqlConnection
  363.            name - database name
  364.  
  365.    RESULT
  366.            error - -1 on error
  367.  
  368.    EXAMPLE
  369.  
  370.    NOTES
  371.            It's an Admin function! This function isn't documented in the
  372.            original API.  
  373.  
  374.    BUGS
  375.  
  376.    SEE ALSO
  377.  
  378. msql.library/MsqlDataSeek                           msql.library/MsqlDataSeek
  379.  
  380.    NAME   
  381.            MsqlDataSeek -- Move the position of the data cursor
  382.  
  383.    SYNOPSIS
  384.            MsqlDataSeek(result, pos)
  385.                          A0      D0
  386.  
  387.            void MsqlDataSeek(m_result *, int);
  388.  
  389.    FUNCTION
  390.            The m_result structure contains a client side "cursor" that holds
  391.            information about the next row of data to be returned to the
  392.            calling program. MsqlDataSeek() can be used to move the position
  393.            of the data cursor. If it is called with a position of 0, the
  394.            next call to MsqlFetchRow() will return the first row of data
  395.            returned by the server. The value of pos can be anywhere from 0
  396.            (the first row) and the number of rows in the table. If a seek is
  397.            made past the end of the table, the next call to MsqlFetchRow()
  398.            will return a NULL.
  399.  
  400.    INPUTS
  401.            result - the m_result stucture to seek
  402.            pos - the position (0 to number of rows)
  403.  
  404.    RESULT
  405.            none
  406.  
  407.    EXAMPLE
  408.  
  409.    NOTES
  410.  
  411.    BUGS
  412.  
  413.    SEE ALSO
  414.            MsqlFetchRow()
  415.  
  416. msql.library/MsqlDateOffset                       msql.library/MsqlDateOffset
  417.  
  418.    NAME   
  419.            MsqlDateOffset -- Produce a relative date  (V3)
  420.  
  421.    SYNOPSIS
  422.            date = MsqlDateOffset(sdate, dOff, mOff, yOff)
  423.            D0                     A0    D0    D1    D2
  424.  
  425.            char *MsqlDateOffset(char *, int, int, int);
  426.  
  427.    FUNCTION
  428.            The MsqlDateOffset() function allows you to generate an mSQL date
  429.            string that is a specified period before or after a given date.
  430.            This routine will determine the correct date based on the varying
  431.            days of month.  It is also aware of leap years and the impact they
  432.            have on date ranges.  The new date is calculated using the
  433.            specified date and an offset value for the day, month and year.
  434.            The example below would determine tomorrow's date
  435.  
  436.            clock = time();
  437.            today = MsqlUnixTimeToDate(clock);
  438.            tomorrow = MsqlDateOffset( today , 1 , 0 , 0 );
  439.  
  440.    INPUTS
  441.            sdate - starting date
  442.            dOff - day offset
  443.            mOff - month offset
  444.            yOff - year offset
  445.  
  446.    RESULT
  447.            date - new date
  448.  
  449.    EXAMPLE
  450.  
  451.    NOTES
  452.            The returned string is statically declared in the API so you must
  453.            make a copy of it before you call the function again. Of course,
  454.            since msql.library is a shared library, each process have his own
  455.            buffer.
  456.  
  457.    BUGS
  458.  
  459.    SEE ALSO
  460.            MsqlDiffTimes(), MsqlSumTimes(), MsqlDiffDates()
  461.  
  462. msql.library/MsqlDateToUnixTime               msql.library/MsqlDateToUnixTime
  463.  
  464.    NAME   
  465.            MsqlDateToUnixTime -- Convert mSQL date to an unix time value (V3)
  466.  
  467.    SYNOPSIS
  468.            time = MsqlDateToUnixTime(date)
  469.            D0                        A0
  470.  
  471.            time_t MsqlDateToUnixTime(char *);
  472.  
  473.    FUNCTION
  474.            MsqlDateToUnixDate( ) converts an mSQL date format string into a
  475.            UNIX time value.  The mSQL date format is "DD-Mon-YYYY" (for
  476.            example "12-Jun-1997") while the returned value will be the number
  477.            of seconds since the UNIX epoch.  The mSQL date routines will
  478.            assume the 20th century if only 2 digits of the year value are
  479.            presented.  Although the valid range of mSQL dates is 31st Dec
  480.            4096bc to the 31st Dec 4096, the UNIX format cannot represent
  481.            dates prior to the 1st Jan 1970.
  482.  
  483.    INPUTS
  484.  
  485.    RESULT
  486.  
  487.    EXAMPLE
  488.  
  489.    NOTES
  490.  
  491.    BUGS
  492.  
  493.    SEE ALSO
  494.            MsqlUnixTimeToDate(), MsqlTimeToUnixTime(), MsqlUnixTimeToTime()
  495.  
  496. msql.library/MsqlDiffDates                         msql.library/MsqlDiffDates
  497.  
  498.    NAME   
  499.            MsqlDiffDates -- determine days between two dates. (V3)
  500.  
  501.    SYNOPSIS
  502.            nbday = MsqlDiffDates(date1, date2)
  503.            D0                    A0     A1
  504.  
  505.            int MsqlDiffDates(char *, char *);
  506.  
  507.    FUNCTION
  508.            The MsqlDiffDates() function can be used to determine the number
  509.            of days between two dates. Date1 must be less than date2 and the
  510.            two dates must be valid mSQL date formatted strings. In
  511.            conjunction with the MsqlDiffTimes() function it is possible to
  512.            determine a complete time difference between two pairs of times
  513.            and dates.
  514.  
  515.    INPUTS
  516.            date1 - a mSQL date formatted string.
  517.            date2 - another mSQL date formatted string.
  518.  
  519.    RESULT
  520.            nbday - the difference between date1 & date2.
  521.  
  522.    EXAMPLE
  523.  
  524.    NOTES
  525.  
  526.    BUGS
  527.  
  528.    SEE ALSO
  529.            MsqlDateOffset(), MsqlSumTimes(), MsqlDiffTimes()
  530.  
  531. msql.library/MsqlDiffTimes                         msql.library/MsqlDiffTimes
  532.  
  533.    NAME   
  534.            MsqlDiffTimes -- determine the time diff between time values (V3)
  535.  
  536.    SYNOPSIS
  537.            time = MsqlDiffTimes(time1, time2)
  538.            D0                    A0     A1
  539.  
  540.            char *MsqlDiffTimes(char *, char *);
  541.  
  542.    FUNCTION
  543.            To determine the time difference between two time values, the
  544.            MsqlDiffTimes() function can be used. The two time values must be
  545.            mSQL time formatted text strings and the returned value is also an
  546.            mSQL time string.  A restriction is placed on the times in that
  547.            time1 must be less than time2.
  548.  
  549.    INPUTS
  550.            time1 - a mSQL time formatted string.
  551.            time2 - another mSQL time formatted string.
  552.  
  553.    RESULT
  554.            time - the difference between time1 & time2.
  555.  
  556.    EXAMPLE
  557.  
  558.    NOTES
  559.            The returned string is statically declared in the API so you must
  560.            make a copy of it before you call the function again. Of course,
  561.            since msql.library is a shared library, each process have his own
  562.            buffer.
  563.  
  564.    BUGS
  565.  
  566.    SEE ALSO
  567.            MsqlSumTimes(), MsqlDateOffset(), MsqlDiffDates()
  568.  
  569. msql.library/MsqlDropDB                               msql.library/MsqlDropDB
  570.  
  571.    NAME   
  572.            MsqlDropDB -- Drop a database
  573.  
  574.    SYNOPSIS
  575.            error = MsqlDropDB(mc, name)
  576.            D0                 A1  A0
  577.  
  578.            int MsqlDropDB(struct MsqlConnection *, char *);
  579.  
  580.    FUNCTION
  581.            Drop a database on the connected server
  582.  
  583.    INPUTS
  584.            mc - a MsqlConnection
  585.            name  - database name
  586.  
  587.    RESULT
  588.            error - -1 on error
  589.  
  590.    EXAMPLE
  591.  
  592.    NOTES
  593.            It's an Admin function! This function isn't documented in the
  594.            original API.  
  595.  
  596.    BUGS
  597.  
  598.    SEE ALSO
  599.  
  600. msql.library/MsqlFetchField                       msql.library/MsqlFetchField
  601.  
  602.    NAME   
  603.            MsqlFetchField -- Get information about the data fields selected
  604.  
  605.    SYNOPSIS
  606.            field = MsqlFetchField(result)
  607.            D0                      A0
  608.  
  609.            m_field *MsqlFetchField(m_result *);
  610.  
  611.    FUNCTION
  612.            Along with the actual data rows, the server returns information
  613.            about the data fields selected. This information is made
  614.            available to the calling program via the MsqlFetchField()
  615.            function. Like MsqlFetchRow(), this function returns one element
  616.            of information at a time and returns NULL when no further
  617.            information is available. The data is returned in a m_field
  618.            structure which contains the following information:
  619.  
  620.            typedef struct
  621.            {
  622.                char    *name,      // name of field 
  623.                        *table;     // name of table 
  624.                int     type,       // data type of field 
  625.                        length,     // length in bytes of field
  626.                        flags;      // attribute flags 
  627.            } m_field;
  628.  
  629.            Possible values for the type field are defined in msql.h.  Please
  630.            consult the header file if you wish to interpret the value of the
  631.            type or flags field of the m_field structure. 
  632.  
  633.    INPUTS
  634.            result - a previously returned result structure
  635.  
  636.    RESULT
  637.            field - data fields information or NULL when no further
  638.                    information is available
  639.  
  640.    EXAMPLE
  641.  
  642.    NOTES
  643.  
  644.    BUGS
  645.  
  646.    SEE ALSO
  647.            MsqlFetchRow()
  648.  
  649. msql.library/MsqlFetchRow                           msql.library/MsqlFetchRow
  650.  
  651.    NAME   
  652.            MsqlFetchRow -- Access individual db rows returned by a select
  653.  
  654.    SYNOPSIS
  655.            row = MsqlFetchRow(result)
  656.            D0                  A0
  657.  
  658.            m_row MsqlFetchRow(m_result *);
  659.  
  660.    FUNCTION
  661.            The individual database rows returned by a select are accessed
  662.            via the MsqlFetchRow() function.
  663.            The data is returned in a variable of type m_row which contains a
  664.            char pointer for each field in the row. For example, if a select
  665.            statement selected 3 fields from each row returned, the value of
  666.            the 3 fields would be assigned to elements [0], [1], and [2] of
  667.            the variable returned by MsqlFetchRow(). 
  668.  
  669.    INPUTS
  670.            result - the data to fetch
  671.  
  672.    RESULT
  673.            row - a row structure or NULL when the end of the data has been
  674.                  reached
  675.  
  676.    EXAMPLE
  677.  
  678.    NOTES
  679.            A NULL value is represented as a NULL pointer in the row.
  680.    BUGS
  681.  
  682.    SEE ALSO
  683.  
  684.  
  685. msql.library/MsqlFieldSeek                         msql.library/MsqlFieldSeek
  686.  
  687.    NAME   
  688.            MsqlFieldSeek -- Move the field data cursor
  689.  
  690.    SYNOPSIS
  691.            MsqlFieldSeek(result, pos)
  692.                          A0      D0
  693.  
  694.            void MsqlFieldSeek(m_result *, int);
  695.  
  696.    FUNCTION
  697.            The result structure includes a "cursor" for the field data. It's
  698.            position can be moved using the MsqlFieldSeek() function. See
  699.            MsqlDataSeek() for further details.
  700.  
  701.    INPUTS
  702.            result - the m_result structure to seek
  703.            pos - postion to move
  704.    RESULT
  705.            none
  706.  
  707.    EXAMPLE
  708.  
  709.    NOTES
  710.  
  711.    BUGS
  712.  
  713.    SEE ALSO
  714.            MsqlDataSeek()
  715.  
  716. msql.library/MsqlFreeConnection               msql.library/MsqlFreeConnection
  717.  
  718.    NAME   
  719.            MsqlFreeConnection -- Free a MsqlConnection structure
  720.  
  721.    SYNOPSIS
  722.            MsqlFreeConnection(mc)
  723.                               A0
  724.  
  725.            void MsqlFreeConnection(stuct MsqlConnection *);
  726.  
  727.    FUNCTION
  728.            Free a MsqlConnection structure returned by MsqlAllocConnection.
  729.  
  730.    INPUTS
  731.            mc - a MsqlConnection
  732.  
  733.    RESULT
  734.            none
  735.  
  736.    EXAMPLE
  737.  
  738.    NOTES
  739.  
  740.    BUGS
  741.  
  742.    SEE ALSO
  743.            MsqlAllocConnection()
  744.  
  745. msql.library/MsqlFreeResult                       msql.library/MsqlFreeResult
  746.  
  747.    NAME   
  748.            MsqlFreeResult -- Free a query result
  749.  
  750.    SYNOPSIS
  751.            MsqlFreeResult(result)
  752.                            A0
  753.  
  754.            void MsqlFreeResult(m_result *);
  755.  
  756.    FUNCTION
  757.            When a program no longer requires the data associated with a
  758.            particular query result, the data must be freed using
  759.            MsqlFreeResult(). The result handle associated with the data, as
  760.            returned by MsqlStoreResult() is passed to MsqlFreeResult() to
  761.            identify the data set to be freed.
  762.  
  763.    INPUTS
  764.            result - a m_result structure returned by MsqlStoreResult()
  765.    RESULT
  766.            none
  767.  
  768.    EXAMPLE
  769.  
  770.    NOTES
  771.  
  772.    BUGS
  773.  
  774.    SEE ALSO
  775.            MsqlStoreResult()
  776.  
  777. msql.library/MsqlGetCharConf                     msql.library/MsqlGetCharConf
  778.  
  779.    NAME   
  780.            MsqlGetCharConf -- Undocumented (used by msqladmin ?)   (V3)
  781.  
  782.    SYNOPSIS
  783.            x = MsqlGetCharConf(mc, y, z)
  784.            D0                  A1  A0 A2
  785.  
  786.            int MsqlGetCharConf(struct MsqlConnection *, char *, char *);
  787.  
  788.    FUNCTION
  789.            Undocumented.
  790.  
  791.    INPUTS
  792.            mc - a MsqlConnection
  793.            y  - ???
  794.            z  - ???
  795.  
  796.    RESULT
  797.            x - ???
  798.  
  799.    EXAMPLE
  800.  
  801.    NOTES
  802.            This is a private Msql API function. No information was given
  803.            about it.
  804.            This function is not part of the mSQL API.  Any use
  805.            of this function is discouraged as the interface may
  806.            change in future releases
  807.  
  808.    BUGS
  809.  
  810.    SEE ALSO
  811.  
  812. msql.library/MsqlGetErrMsg                         msql.library/MsqlGetErrMsg
  813.  
  814.    NAME   
  815.           MsqlGetErrMsg -- Get an error message
  816.  
  817.    SYNOPSIS
  818.            errmsg = MsqlGetErrMsg(mc)
  819.            D0                     A0
  820.  
  821.            char *MsqlGetErrMsg(struct MsqlConnection *); 
  822.  
  823.    FUNCTION
  824.            If a msql function failed, an error message will be stored in an
  825.            internal buffer. This function return a pointer on this buffer.
  826.  
  827.    INPUTS
  828.            mc - a valid MsqlConnection structure
  829.  
  830.    RESULT
  831.            errmsg - a null terminated string describing a previous error
  832.  
  833.    EXAMPLE
  834.  
  835.    NOTES
  836.            There is no guarantee as to the value returned from
  837.            MsqlGetErrMsg() after a successful operation.
  838.  
  839.    BUGS
  840.  
  841.    SEE ALSO
  842.  
  843. msql.library/MsqlGetHostInfo                     msql.library/MsqlGetHostInfo
  844.  
  845.    NAME   
  846.            MsqlGetHostInfo -- Undocumented
  847.  
  848.    SYNOPSIS
  849.            x = MsqlGetHostInfo(mc)
  850.            D0                  A0
  851.  
  852.            char *MsqlGetHostInfo(struct MsqlConnection *);
  853.  
  854.    FUNCTION
  855.            Undocumented.
  856.  
  857.    INPUTS
  858.            mc - a MsqlConnection
  859.  
  860.    RESULT
  861.            x - ???
  862.  
  863.    EXAMPLE
  864.  
  865.    NOTES
  866.            This is a private Msql API function. No information was given
  867.            about it.
  868.  
  869.    BUGS
  870.  
  871.    SEE ALSO
  872.  
  873. msql.library/MsqlGetIntConf                       msql.library/MsqlGetIntConf
  874.  
  875.    NAME   
  876.            MsqlGetIntConf -- Undocumented (used by msqladmin ?)   (V3)
  877.  
  878.    SYNOPSIS
  879.            x = MsqlGetIntConf(mc, y, z)
  880.            D0                 A1  A0 A2
  881.  
  882.            int MsqlGetIntConf(struct MsqlConnection *, char *, char *);
  883.  
  884.    FUNCTION
  885.            Undocumented.
  886.  
  887.    INPUTS
  888.            mc - a MsqlConnection
  889.            y  - ???
  890.            z  - ???
  891.  
  892.    RESULT
  893.            x - ???
  894.  
  895.    EXAMPLE
  896.  
  897.    NOTES
  898.            This is a private Msql API function. No information was given
  899.            about it.
  900.            This function is not part of the mSQL API.  Any use
  901.            of this function is discouraged as the interface may
  902.            change in future releases
  903.  
  904.  
  905.    BUGS
  906.  
  907.    SEE ALSO
  908.  
  909. msql.library/MsqlGetProtoInfo                   msql.library/MsqlGetProtoInfo
  910.  
  911.    NAME   
  912.            MsqlGetProtoInfo -- Undocumented
  913.  
  914.    SYNOPSIS
  915.            x = MsqlGetProtoInfo(mc)
  916.            D0                   A0
  917.  
  918.            int MsqlGetProtoInfo(struct MsqlConnection *);
  919.  
  920.    FUNCTION
  921.            Undocumented.
  922.  
  923.    INPUTS
  924.            mc - a MsqlConnection
  925.  
  926.    RESULT
  927.            x - ???
  928.  
  929.    EXAMPLE
  930.  
  931.    NOTES
  932.            This is a private Msql API function. No information was given
  933.            about it.
  934.  
  935.    BUGS
  936.  
  937.    SEE ALSO
  938.  
  939. msql.library/MsqlGetSequenceInfo             msql.library/MsqlGetSequenceInfo
  940.  
  941.    NAME   
  942.            MsqlGetSequenceInfo --  (V3)
  943.  
  944.    SYNOPSIS
  945.            seq = MsqlGetSequenceInfo(mc, table)
  946.            D0                        A0  A1
  947.  
  948.            m_seq *MsqlGetSequenceInfo(struct MsqlConnection *, char *);
  949.  
  950.    FUNCTION
  951.  
  952.    INPUTS
  953.  
  954.    RESULT
  955.  
  956.    EXAMPLE
  957.  
  958.    NOTES
  959.  
  960.    BUGS
  961.  
  962.    SEE ALSO
  963.  
  964. msql.library/MsqlGetServerInfo                 msql.library/MsqlGetServerInfo
  965.  
  966.    NAME   
  967.            MsqlGetServerInfo -- Undocumented
  968.  
  969.    SYNOPSIS
  970.            x = MsqlGetServerInfo(mc)
  971.            D0                    A0
  972.  
  973.            char *MsqlGetServerInfo(struct MsqlConnection *);
  974.  
  975.    FUNCTION
  976.            Undocumented.
  977.  
  978.    INPUTS
  979.            mc - a MsqlConnection
  980.  
  981.    RESULT
  982.            x - ???
  983.  
  984.    EXAMPLE
  985.  
  986.    NOTES
  987.            This is a private Msql API function. No information was given
  988.            about it.
  989.  
  990.    BUGS
  991.  
  992.    SEE ALSO
  993.  
  994. msql.library/MsqlGetServerStats               msql.library/MsqlGetServerStats
  995.  
  996.    NAME   
  997.            MsqlGetServerStats -- Private  (V3)
  998.  
  999.    SYNOPSIS
  1000.            error = MsqlGetServerStats(mc, buffer, size)
  1001.            D0                         A0  A1      D0    
  1002.  
  1003.            int MsqlGetServerStats(struct MsqlConnection *, char *, ULONG);
  1004.  
  1005.    FUNCTION
  1006.            Undocumented.
  1007.  
  1008.    INPUTS
  1009.            mc - a "connected" MsqlConnection structure
  1010.            buffer - output buffer
  1011.            size - size of buffer
  1012.    RESULT
  1013.            error - -1 on error
  1014.    EXAMPLE
  1015.  
  1016.    NOTES
  1017.            Original API writes to the standard output, not in a buffer.
  1018.    BUGS
  1019.            
  1020.    SEE ALSO
  1021.  
  1022. msql.library/MsqlListDBs                             msql.library/MsqlListDBs
  1023.  
  1024.    NAME   
  1025.            MsqlListDBs -- return a list of existing database
  1026.  
  1027.    SYNOPSIS
  1028.            result = MsqlListDBs(mc)
  1029.            D0                   A0
  1030.  
  1031.            m_result *MsqlListDBs(struct MsqlConnection *);
  1032.  
  1033.    FUNCTION
  1034.            A list of the databases known to the mSQL engine can be obtained
  1035.            via the MsqlListDBs() function. A result handle is returned to
  1036.            the calling program that can be used to access the actual
  1037.            database names. The individual names are accessed by calling
  1038.            MsqlFetchRow() passing it the result handle. The m_row data
  1039.            structure returned by each call will contain one field being the
  1040.            name of one of the available databases. As with all functions
  1041.            that return a result handle, the data associated with the result
  1042.            must be freed when it is no longer required using MsqlFreeResult()
  1043. .
  1044.  
  1045.    INPUTS
  1046.            mc - a "connected" MsqlConnection
  1047.  
  1048.    RESULT
  1049.            result - data containing the list of known dbs.
  1050.  
  1051.    EXAMPLE
  1052.  
  1053.    NOTES
  1054.  
  1055.    BUGS
  1056.  
  1057.    SEE ALSO
  1058.            MsqlFetchRow(), MsqlFreeResult(), MsqlListTables()
  1059.  
  1060. msql.library/MsqlListFields                       msql.library/MsqlListFields
  1061.  
  1062.    NAME  
  1063.            MsqlListFields --  Get information about table fields
  1064.  
  1065.    SYNOPSIS
  1066.            result = MsqlListFields(mc, tableName)
  1067.            D0                      A0  A1
  1068.  
  1069.            m_result *MsqlListFields(struct MsqlConnection *, char *);
  1070.  
  1071.    FUNCTION
  1072.            Information about the fields in a particular table can be
  1073.            obtained using MsqlListFields(). The function is called with the
  1074.            name of a table in the current database as selected using
  1075.            MsqlSelectDB() and a result handle is returned to the caller.
  1076.            Unlike MsqlListDBs() and MsqlListTables(), the field information
  1077.            is contained in field structures rather than data rows. It is
  1078.            accessed using MsqlFetchField(). The result handle must be freed
  1079.            when it is no longer needed by calling MsqlFreeResult().
  1080.  
  1081.    INPUTS
  1082.            mc - a "connected" MsqlConnection
  1083.            tableName - a null terminated string containing the name of the
  1084.                        table
  1085.    RESULT
  1086.            result - data about the table structure
  1087.  
  1088.    EXAMPLE
  1089.  
  1090.    NOTES
  1091.  
  1092.    BUGS
  1093.  
  1094.    SEE ALSO
  1095.            MsqlSelectDB(), MsqlFetchField(), MsqlFreeResult()
  1096.  
  1097. msql.library/MsqlListIndex                         msql.library/MsqlListIndex
  1098.  
  1099.    NAME   
  1100.            MsqlListIndex -- Get the structure of a table index
  1101.  
  1102.    SYNOPSIS
  1103.            result = MsqlListIndex(mc, tableName, index)
  1104.            D0                     A2  A0         A1
  1105.  
  1106.            m_result *MsqlListIndex(struct MsqlConnection *, char *, char *);
  1107.  
  1108.    FUNCTION
  1109.            The structure of a table index can be obtained from the server
  1110.            using the MsqlListIndex() function.  The result table returned
  1111.            contains one field.
  1112.            The first row of the result contains the symbolic name of the
  1113.            index mechanism used to store the index.  Rows 2 and onwards
  1114.            contain the name of the fields that comprise the index.
  1115.            For example, if a compund index was defined as an AVL Tree index
  1116.            and was based on the values of the fields first_name and
  1117.            last_name, then the result table would look like: 
  1118.                --------------
  1119.                |   row[0]   |
  1120.                |------------|
  1121.                |    avl     |
  1122.                |------------|
  1123.                | first_name |
  1124.                |------------|
  1125.                | last_name  |
  1126.                --------------
  1127.  
  1128.            Currently the only valid index type is 'avl' signifying a memory
  1129.            mapped AVL tree.
  1130.  
  1131.    INPUTS
  1132.            mc - a "connected" MsqlConnection
  1133.            tableName - a null terminated string containing the name of the
  1134.                        table
  1135.            index - a null terminated string containing the name of the index
  1136.    RESULT
  1137.            result - index information
  1138.  
  1139.    EXAMPLE
  1140.  
  1141.    NOTES
  1142.  
  1143.    BUGS
  1144.  
  1145.    SEE ALSO
  1146.            MsqlFreeResult()
  1147.  
  1148. msql.library/MsqlListTables                       msql.library/MsqlListTables
  1149.  
  1150.    NAME   
  1151.            MsqlListTables -- return a table list of selected database
  1152.  
  1153.    SYNOPSIS
  1154.            result = MsqlListTables(mc)
  1155.            D0                   A0
  1156.  
  1157.            m_result *MsqlListTables(struct MsqlConnection *);
  1158.  
  1159.    FUNCTION
  1160.            Once a database has been selected using MsqlSelectDB(), a list of
  1161.            the tables defined in that database can be retrieved using
  1162.            MsqlListTables(). As with MsqlListDBs(), a result handle is
  1163.            returned to the calling program and the names of the tables are
  1164.            contained in data rows where element [0] of the row is the name
  1165.            of one table in the current database. The result handle must be
  1166.            freed when it is no longer needed by calling MsqlFreeResult().
  1167.  
  1168.    INPUTS
  1169.            mc - a "connected" MsqlConnection
  1170.  
  1171.    RESULT
  1172.            result - data containing a list of tables
  1173.  
  1174.    EXAMPLE
  1175.  
  1176.    NOTES
  1177.  
  1178.    BUGS
  1179.  
  1180.    SEE ALSO
  1181.            MsqlFetchRow(), MsqlFreeResult(), MsqlSelectDB(), MsqlListDBs()
  1182.  
  1183. msql.library/MsqlLoadConfigFile               msql.library/MsqlLoadConfigFile
  1184.  
  1185.    NAME   
  1186.            MsqlLoadConfigFile -- Load a non-default configuration
  1187.  
  1188.    SYNOPSIS
  1189.            error = MsqlLoadConfigFile(mc, file)
  1190.            D0                         A1  A0
  1191.  
  1192.            int MsqlLoadConfigFile(struct MsqlConnection *, char *);
  1193.  
  1194.    FUNCTION
  1195.            The MsqlLoadConfigFile() function can be used to load a non-
  1196.            default configuration file into your client application. The
  1197.            configuration file can include information such as the TCP/IP and
  1198.            UNIX ports on which the desired mSQL server will be running. The
  1199.            file to be loaded is determined by the value of the file
  1200.            parameter. If the value of the parameter is new, the
  1201.            MsqlLoadConfigFile() function would search for the file in the
  1202.            following places (and in the order specified).
  1203.  
  1204.            Inst_Dir/new
  1205.            Inst_Dir/new.conf
  1206.            new
  1207.  
  1208.            That is, if a file called "new" exists in the installation
  1209.            directory, it is loaded.  Otherwise, an attempt will be made to
  1210.            load a file called new.conf from the installation directory.  If
  1211.            that fails, the filename specified is assumed to be a complete,
  1212.            absolute pathname and an attempt to open the file is made.
  1213.  
  1214.    INPUTS
  1215.            mc - a MsqlConnection
  1216.            file  - a configuration file
  1217.  
  1218.    RESULT
  1219.            error - 1 on failure, otherwise a value of 0 is returned
  1220.  
  1221.    EXAMPLE
  1222.  
  1223.    NOTES
  1224.  
  1225.    BUGS
  1226.  
  1227.    SEE ALSO
  1228.  
  1229. msql.library/MsqlMoveDB                               msql.library/MsqlMoveDB
  1230.  
  1231.    NAME   
  1232.            MsqlMoveDB -- Undocumented (V3)
  1233.  
  1234.    SYNOPSIS
  1235.            x = MsqlMoveDB(mc, fromDB, toDB)
  1236.            D0             A0  A1      A2        
  1237.  
  1238.            int MsqlMoveDB(struct MsqlConnection *, char *, char *);
  1239.  
  1240.    FUNCTION
  1241.            Undocumented.
  1242.  
  1243.    INPUTS
  1244.            mc - a "connected" MsqlConnection structure.
  1245.            fromDB - ?
  1246.            toDB - ?
  1247.    RESULT
  1248.            x - ?
  1249.    EXAMPLE
  1250.  
  1251.    NOTES
  1252.  
  1253.    BUGS
  1254.  
  1255.    SEE ALSO
  1256.            MsqlCopyDB()
  1257.  
  1258. msql.library/MsqlNumFields                         msql.library/MsqlNumFields
  1259.  
  1260.    NAME   
  1261.            MsqlNumFields -- Get the number of fields of a row
  1262.  
  1263.    SYNOPSIS
  1264.            num = MsqlNumFields(result)
  1265.            
  1266.  
  1267.            int MsqlNumFields(m_result *);
  1268.  
  1269.    FUNCTION
  1270.            The number of fields returned by a query can be ascertained by
  1271.            calling MsqlNumFields() and passing it the result handle. The
  1272.            value returned by MsqlNumFields() indicates the number of
  1273.            elements in the data vector returned by MsqlFetchRow(). It is
  1274.            wise to check the number of fields returned before, as with all
  1275.            arrays, accessing an element that is beyond the end of the data
  1276.            vector can result in a segmentation fault (crash).
  1277.  
  1278.    INPUTS
  1279.            result - a m_result data structure
  1280.  
  1281.    RESULT
  1282.            num - the number of fields.
  1283.  
  1284.    EXAMPLE
  1285.  
  1286.    NOTES
  1287.            This function is not part of the msql.library but was defined
  1288.            (#define) in msql/msql.h
  1289.  
  1290.    BUGS
  1291.  
  1292.    SEE ALSO
  1293.  
  1294. msql.library/MsqlNumRows                             msql.library/MsqlNumRows
  1295.  
  1296.    NAME   
  1297.            MsqlNumRows -- Get the number of rows of data
  1298.  
  1299.    SYNOPSIS
  1300.            num = MsqlNumRows(result)
  1301.            
  1302.  
  1303.            int MsqlNumRows(m_result *);
  1304.  
  1305.    FUNCTION
  1306.            The number of rows returned by a query can be found by calling
  1307.            MsqlNumRows() and passing it the result handle returned by
  1308.            MsqlStoreResult(). The number of rows of data sent as a result of
  1309.            the query is returned as an integer value. If a select query
  1310.            didn't match any data, MsqlNumRows() will indicate that the
  1311.            result table has 0 rows (note: earlier versions of mSQL returned
  1312.            a NULL result handle if no data was found. This has been
  1313.            simplified and made more intuitive by returning a result handle
  1314.            with 0 rows of result data)
  1315.  
  1316.    INPUTS
  1317.            result - a m_result data structure
  1318.  
  1319.    RESULT
  1320.            num - the number of rows.
  1321.  
  1322.    EXAMPLE
  1323.  
  1324.    NOTES
  1325.            This function is not part of the msql.library but was defined
  1326.            (#define) in msql/msql.h
  1327.  
  1328.    BUGS
  1329.  
  1330.    SEE ALSO
  1331.  
  1332. msql.library/MsqlQuery                                 msql.library/MsqlQuery
  1333.  
  1334.    NAME   
  1335.            MsqlQuery -- send a sql query to the mSQL engine
  1336.  
  1337.    SYNOPSIS
  1338.            error = MsqlQuerry(mc, query)
  1339.            D0                 A1  A0 
  1340.  
  1341.            int MsqlQuery(struct MsqlConnection *, char *);
  1342.  
  1343.    FUNCTION
  1344.            A query in SQL terminology is not the same as a query in the
  1345.            English language.  In English, the word query relates to asking a
  1346.            question whereas in SQL a query is a valid SQL command.  It is a
  1347.            common mistake that people believe that the msqlQuery function can
  1348.            only be used to submit SELECT commands to the database engine.
  1349.            In reality, msqlQuery can be used for any valid mSQL command
  1350.            including SELECT, DELETE, UPDATE etc.
  1351.            Queries are sent to the engine over the connection associated
  1352.            with mc as plain text strings using MsqlQuery(). As usual, a
  1353.            returned value of -1 indicates an error and msqlErrMsg will be
  1354.            updated. 
  1355.            If the query generates output from the engine, such as a SELECT
  1356.            statement, the data is buffered in the API waiting for the
  1357.            application to retrieve it. If the application submits another
  1358.            query before it retrieves the data using msqlStoreResult(), the
  1359.            buffer will be overwritten by any data generated by the new
  1360.            query.
  1361.  
  1362.            In previous versions of mSQL, the return value of msqlQuery() was
  1363.            either -1 (indicating an error) or 0 (indicating success).  mSQL2
  1364.            adds to these semantics by providing more information back to the
  1365.            client application via the return code.  If the return code is
  1366.            greater than 0, not only does it imply success, it also indicates
  1367.            the number of rows "touched" by the query (i.e. the number of
  1368.            rows returned by a SELECT, the number of rows modified by an
  1369.            update, or the number of rows removed by a delete).
  1370.  
  1371.    INPUTS
  1372.            mc - a "connected" MsqlConnection.
  1373.            query - a SQL query.
  1374.  
  1375.    RESULT
  1376.            error - == -1 on error.
  1377.  
  1378.    EXAMPLE
  1379.  
  1380.    NOTES
  1381.  
  1382.    BUGS
  1383.  
  1384.    SEE ALSO
  1385.  
  1386. msql.library/MsqlReloadAcls                       msql.library/MsqlReloadAcls
  1387.  
  1388.    NAME   
  1389.            MsqlReloadAcls -- Force server to reload access list
  1390.  
  1391.    SYNOPSIS
  1392.            x = MsqlReloadAcls(mc)
  1393.            D0               A0
  1394.  
  1395.            int MsqlReloadAcls(struct MsqlConnection *);
  1396.  
  1397.    FUNCTION
  1398.            Force the server to reload the access list
  1399.  
  1400.    INPUTS
  1401.            mc - a MsqlConnection
  1402.  
  1403.    RESULT
  1404.            error - -1 on error
  1405.  
  1406.    EXAMPLE
  1407.  
  1408.    NOTES
  1409.            It's an Admin function! This function isn't documented in the
  1410.            original API.  
  1411.  
  1412.    BUGS
  1413.  
  1414.    SEE ALSO
  1415.  
  1416. msql.library/MsqlRemMHook                           msql.library/MsqlRemMHook
  1417.  
  1418.    NAME   
  1419.            MsqlRemMHook --  remove a library monitoring hook. (V5)
  1420.  
  1421.    SYNOPSIS
  1422.            MsqlRemMHook(hook)
  1423.                         A0
  1424.  
  1425.            void MsqlRemMHook(struct Hook *);
  1426.  
  1427.    FUNCTION
  1428.            Remove a callback hook previously installed by MsqlAddMHookA().
  1429.  
  1430.    INPUTS
  1431.            hook - an installed callback hook
  1432.  
  1433.    RESULT
  1434.            none
  1435.  
  1436.    EXAMPLE
  1437.  
  1438.    NOTES
  1439.            You have to call MsqlMRemHook for each hook you have installed
  1440.            before closing the msql.library.
  1441.  
  1442.    BUGS
  1443.  
  1444.    SEE ALSO
  1445.            MsqlAddMHookA()
  1446.  
  1447. msql.library/MsqlSelectDB                           msql.library/MsqlSelectDB
  1448.  
  1449.    NAME   
  1450.            MsqlSelectDB -- instructs engine which database is to be accessed
  1451.  
  1452.    SYNOPSIS
  1453.            error = MsqlSelectDB(mc, dbName)
  1454.            D0                   A1  A0
  1455.  
  1456.            int MsqlSelectDB(struct MsqlConnection *, char *);
  1457.  
  1458.    FUNCTION
  1459.            Prior to submitting any queries, a database must be selected.
  1460.            msqlSelectDB() instructs the engine which database is to be
  1461.            accessed. msqlSelectDB() is called with the MsqlConnection
  1462.            returned by MsqlConnect() and the name of the desired database.
  1463.            A return value of -1 indicates an error with msqlErrMsg set to a
  1464.            text string representing the error. MsqlSelectDB() may be called
  1465.            multiple times during a program's execution. Each time it is
  1466.            called, the server will use the specified database for future
  1467.            accesses. By calling msqlSelectDB() multiple times, a program can
  1468.            switch between different databases during its execution.
  1469.  
  1470.    INPUTS
  1471.            mc - a "connected" MsqlConnection.
  1472.            dbName - the name of the database to select.
  1473.  
  1474.    RESULT
  1475.            error - =-1 on error.
  1476.  
  1477.    EXAMPLE
  1478.  
  1479.    NOTES
  1480.  
  1481.    BUGS
  1482.  
  1483.    SEE ALSO
  1484.  
  1485. msql.library/MsqlShutdown                           msql.library/MsqlShutdown
  1486.  
  1487.    NAME   
  1488.            MsqlShutdown -- Shutdown a mSQL server
  1489.  
  1490.    SYNOPSIS
  1491.            x = MsqlShutdown(mc)
  1492.            D0               A0
  1493.  
  1494.            int MsqlShutdown(struct MsqlConnection *);
  1495.  
  1496.    FUNCTION
  1497.            Shutdown the connected server
  1498.  
  1499.    INPUTS
  1500.            mc - a MsqlConnection
  1501.  
  1502.    RESULT
  1503.            error - -1 on error
  1504.  
  1505.    EXAMPLE
  1506.  
  1507.    NOTES
  1508.            It's an Admin function! This function isn't documented in the
  1509.            original API.  
  1510.  
  1511.    BUGS
  1512.  
  1513.    SEE ALSO
  1514.  
  1515. msql.library/MsqlStoreResult                     msql.library/MsqlStoreResult
  1516.  
  1517.    NAME   
  1518.            MsqlStoreResult -- Store a query result
  1519.  
  1520.    SYNOPSIS
  1521.            result = MsqlStoreResult(mc)
  1522.            D0                       A0
  1523.  
  1524.            m_result *MsqlStoreResult(struct MsqlConnection *);
  1525.  
  1526.    FUNCTION
  1527.            Data returned by a SELECT query must be stored before another
  1528.            query is submitted or it will be removed from the internal API
  1529.            buffers. Data is stored using the MsqlStoreResult() function
  1530.            which returns a result handle to the calling routines. The result
  1531.            handle is a pointer to a m_result structure and is passed to
  1532.            other API routines when access to the data is required. Once the
  1533.            result handle is allocated, other queries may be submitted. A
  1534.            program may have many result handles active simultaneously.
  1535.  
  1536.    INPUTS
  1537.            mc - a MsqlConnection
  1538.  
  1539.    RESULT
  1540.            result - result handle of the previous request
  1541.  
  1542.    EXAMPLE
  1543.  
  1544.    NOTES
  1545.  
  1546.    BUGS
  1547.  
  1548.    SEE ALSO
  1549.            MsqlFreeResult()
  1550.  
  1551. msql.library/MsqlSumTimes                           msql.library/MsqlSumTimes
  1552.  
  1553.    NAME   
  1554.            MsqlSumTimes --  Sum two mSQL time (V3)
  1555.  
  1556.    SYNOPSIS
  1557.            time = MsqlSumTimes(time1, time2)
  1558.            D0                   A0     A1
  1559.  
  1560.            char *MsqlSumTimes(char *, char *);
  1561.  
  1562.    FUNCTION
  1563.            The MsqlSumTimes() routine provides a mechanism for performing
  1564.            addition between two mSQL time formatted strings.  A literal
  1565.            addition of the values is returned to the calling routine in mSQL
  1566.            time format. As an example, calling MsqlSumTimes with the values
  1567.            "1:30:25" and "13:15:40" would return "14:46:05".
  1568.  
  1569.    INPUTS
  1570.            time1 - a mSQL time formatted string.
  1571.            time2 - another mSQL time formatted string.
  1572.  
  1573.    RESULT
  1574.            time - a literal addition of time1 & time2.
  1575.  
  1576.    EXAMPLE
  1577.  
  1578.    NOTES
  1579.            The returned string is statically declared in the API so you must
  1580.            make a copy of it before you call the function again. Of course,
  1581.            since msql.library is a shared library, each process have his own
  1582.            buffer.
  1583.  
  1584.    BUGS
  1585.  
  1586.    SEE ALSO
  1587.            MsqlDiffTimes(), MsqlDateOffset(), MsqlDiffDates()
  1588.  
  1589. msql.library/MsqlTimeToUnixTime               msql.library/MsqlTimeToUnixTime
  1590.  
  1591.    NAME   
  1592.            MsqlTimeToUnixTime --  Convert mSQL time to unix time (V3)
  1593.  
  1594.    SYNOPSIS
  1595.            time = MsqlTimeToUnixTime(date)
  1596.            D0                        A0
  1597.  
  1598.            time_t MsqlTimeToUnixTime(char *);
  1599.  
  1600.    FUNCTION
  1601.            MsqlTimeToUnixTime( ) converts an mSQL time value to a standard
  1602.            UNIX time value.  The mSQL time value must be a character string
  1603.            in the 24 hour format of "HH:MM:SS" and the returned value will be
  1604.            the number of seconds since 1 Jan 1970 (the normal UNIX format).
  1605.  
  1606.    INPUTS
  1607.  
  1608.    RESULT
  1609.  
  1610.    EXAMPLE
  1611.  
  1612.    NOTES
  1613.  
  1614.    BUGS
  1615.  
  1616.    SEE ALSO
  1617.        MsqlUnixTimeToDate(), MsqlUnixTimeToTime(), MsqlDateToUnixTime()
  1618.  
  1619. msql.library/MsqlUnixTimeToDate               msql.library/MsqlUnixTimeToDate
  1620.  
  1621.    NAME   
  1622.            MsqlUnixTimeToDate -- Convert Unix time to mSQL date string  (V3)
  1623.  
  1624.    SYNOPSIS
  1625.            date = MsqlUnixTimeToDate(clock)
  1626.            D0                        D0
  1627.  
  1628.            char *MsqlUnixTimeToDate(time_t);
  1629.  
  1630.    FUNCTION
  1631.            MsqlUnixTimeToDate() converts a standard UNIX time value to an
  1632.            mSQL date string. The time value is specified as seconds since the
  1633.            UNIX epoch ( 1st Jan 1970) while the mSQL date string will contain
  1634.            the date formatted as "DD-Mon-YYYY" (e.g. "12-Jun-1997"). The
  1635.            returned string is statically declared in the API so you must make
  1636.            a copy of it before you call the function again.
  1637.  
  1638.    INPUTS
  1639.            clock - the time to convert
  1640.  
  1641.    RESULT
  1642.            date - the clock "value" in a mSQL date format
  1643.  
  1644.    EXAMPLE
  1645.  
  1646.    NOTES
  1647.            The returned string is statically declared in the API so you must
  1648.            make a copy of it before you call the function again. Of course,
  1649.            since msql.library is a shared library, each process have his own
  1650.            buffer.
  1651.  
  1652.    BUGS
  1653.  
  1654.    SEE ALSO
  1655.        MsqlTimeToUnixTime(), MsqlUnixTimeToTime(), MsqlDateToUnixTime()
  1656.  
  1657. msql.library/MsqlUnixTimeToTime               msql.library/MsqlUnixTimeToTime
  1658.  
  1659.    NAME   
  1660.            MsqlUnixTimeToTime -- Convert Unix time to mSQL time format (V3)
  1661.  
  1662.    SYNOPSIS
  1663.            time = MsqlUnixTimeToTime(clock)
  1664.            D0                        D0   
  1665.  
  1666.            char *MsqlUnixTimeToTime(time_t);
  1667.  
  1668.    FUNCTION
  1669.            MsqlUnixTimetoTime() converts a UNIX time value (seconds since the
  1670.            UNIX epoch) into a character string representing the same time in
  1671.            mSQL time format (i.e. "HH:MM:SS" 24 hour format).
  1672.    INPUTS
  1673.            clock - the time to convert
  1674.  
  1675.    RESULT
  1676.            time - the clock value in a mSQL time string format.
  1677.  
  1678.    EXAMPLE
  1679.  
  1680.    NOTES
  1681.            The returned string is statically declared in the API so you must
  1682.            make a copy of it before you call the function again. Of course,
  1683.            since msql.library is a shared library, each process have his own
  1684.            buffer.
  1685.  
  1686.    BUGS
  1687.  
  1688.    SEE ALSO
  1689.            MsqlUnixTimeToDate(), MsqlTimeToUnixTime(), MsqlDateToUnixTime()
  1690.  
  1691.